The background description provided herein is for the purpose of generally presenting the context of the disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Key domain selectors, also referred to as ‘crypto-colors’, are values used for annotating memory data structures for enhanced security and which participate in the memory encryption process as tweaks, effectively acting as if a different key was used to encrypt the content/data being stored into a memory. Key domain selectors associate encrypted memory content/data with specific uses, code paths, or instances of the applications which are executing, allowing different access control policies to be applied to different software domains. Using key domain selectors, systems can offer increased protection against a range of corruption events and attacks that include software bug-related corruption events (e.g., Use-After-Free, UAF), buffer overflow attacks, physical attacks on memory, and malware attacks including inappropriate memory accesses due to return oriented programming (ROP) injected malware, among others. Key domain selector sizes can range from few bits (1, 2) to large numbers of bits (e.g., 32, 64 or 128).